﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыОбменаСКонтролирующимиОрганами
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"d9d13eab-506d-4b5a-bbc2-079a3025121d\", \"Представление\":\"ОбменОтключен\"}")]
		ОбменОтключен = 0,//Обмен отключен
		[EnumMember(Value = "{\"Ссылка\":\"8818a4cd-a093-406e-8ea8-8e1d62159f32\", \"Представление\":\"ОбменВУниверсальномФормате\"}")]
		ОбменВУниверсальномФормате = 1,//Обмен в универсальном формате
		[EnumMember(Value = "{\"Ссылка\":\"9ece21f3-681a-46bf-98cc-17c51bd85e83\", \"Представление\":\"ОбменЧерезСпринтер\"}")]
		ОбменЧерезСпринтер = 2,//Обмен посредством ПК "Спринтер"
	}
	public static partial class ВидыОбменаСКонтролирующимиОрганами_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ОбменОтключен = new Guid("9a07c2bb-2530-1d12-4b5a-506dd9d13eab");//Обмен отключен
		public static readonly Guid ОбменВУниверсальномФормате = new Guid("1d8ea88e-1562-329f-406e-a0938818a4cd");//Обмен в универсальном формате
		public static readonly Guid ОбменЧерезСпринтер = new Guid("c517cc98-d81b-835e-46bf-681a9ece21f3");//Обмен посредством ПК "Спринтер"
		public static ВидыОбменаСКонтролирующимиОрганами Получить(this ВидыОбменаСКонтролирующимиОрганами Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОбменаСКонтролирующимиОрганами Получить(this ВидыОбменаСКонтролирующимиОрганами Значение, Guid Ссылка)
		{
			if(Ссылка == ОбменОтключен)
			{
				return ВидыОбменаСКонтролирующимиОрганами.ОбменОтключен;
			}
			else if(Ссылка == ОбменВУниверсальномФормате)
			{
				return ВидыОбменаСКонтролирующимиОрганами.ОбменВУниверсальномФормате;
			}
			else if(Ссылка == ОбменЧерезСпринтер)
			{
				return ВидыОбменаСКонтролирующимиОрганами.ОбменЧерезСпринтер;
			}
			return ВидыОбменаСКонтролирующимиОрганами.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОбменаСКонтролирующимиОрганами Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОбменаСКонтролирующимиОрганами Значение)
		{
			switch (Значение)
			{
				case ВидыОбменаСКонтролирующимиОрганами.ОбменОтключен: return ОбменОтключен;
				case ВидыОбменаСКонтролирующимиОрганами.ОбменВУниверсальномФормате: return ОбменВУниверсальномФормате;
				case ВидыОбменаСКонтролирующимиОрганами.ОбменЧерезСпринтер: return ОбменЧерезСпринтер;
			}
			return Guid.Empty;
		}
	}
}